home *** CD-ROM | disk | FTP | other *** search
/ gdead.berkeley.edu / gdead.berkeley.edu.tar / gdead.berkeley.edu / pub / gdead / mac / SOD_1.8.7.sea.hqx / SOD 1.8.7 / Dead Tapes / background_2584.txt < prev    next >
Text File  |  1995-01-11  |  18KB  |  760 lines

  1. -- background: 2584 from stack: in
  2. -- bmap block id: 3759
  3. -- flags: 0000
  4. -- background id: 0
  5. -- name: 
  6. ----- HyperTalk script -----
  7. on newCard
  8.   tabKey
  9. end newCard
  10.  
  11. function findTapeByDate theShowDate
  12. --  a binary search through the cards.
  13. --  this particular version, upon failing to find the show, will
  14. --  leave you on the card immediately PREVIOUS to the date
  15. --  searched for.  This makes it easy to insert new shows into
  16. --  the proper place.
  17. --
  18. put the number of this card into origCard
  19. put theShowDate into searchDate
  20. convert searchDate to seconds
  21. put the number of cards into endCard
  22. put trunc( endCard / 2 ) into targetCard
  23. put 1 into begCard
  24. set the cursor to 4
  25. set the lockScreen to true
  26. repeat forever
  27.   showBusy
  28.   go card targetCard
  29.   get field "date"
  30.   if it is theShowDate then return true
  31.   convert it to seconds
  32.   if it > searchDate then
  33.     put the number of this card into endCard
  34.   else
  35.     put the number of this card into begCard
  36.   end if
  37.   if (endCard - begCard) < 2 then
  38.     go card begCard
  39.     get field "date"
  40.     convert it to seconds
  41.     if it is searchDate then return true
  42.     go next card
  43.     get field "date"
  44.     convert it to seconds
  45.     if it is searchDate then return true
  46.     --  if we reach here the show does not exist yet
  47.     --  find the show previous to the one we were looking for
  48.     repeat forever
  49.       get field "date"
  50.       convert it to seconds
  51.       if (it < searchDate) or (the number of this card is 1) then exit repeat
  52.       go previous card
  53.     end repeat
  54.     exit repeat
  55.   end if
  56.   --
  57.   put trunc( begCard + ((endCard - begCard) / 2) ) into targetCard
  58.   --    put begCard & " : " & targetCard & " : " & endCard
  59. end repeat
  60. hide the message
  61. return false
  62. end findTapeByDate
  63.  
  64.  
  65.  
  66. -- part 40 (button)
  67. -- low flags: 00
  68. -- high flags: A004
  69. -- rect: left=434 top=231 right=253 bottom=507
  70. -- title width / last selected line: 0
  71. -- icon id / first selected line: 0 / 0
  72. -- text alignment: 1
  73. -- font id: 0
  74. -- text size: 12
  75. -- style flags: 0
  76. -- line height: 16
  77. -- part name: = Stacks =
  78. ----- HyperTalk script -----
  79. --  This button will present a pop-up menu of stack names.
  80. --  Hold the mouse button down for a few seconds until
  81. --  the menu appears.  Select one of the choices to
  82. --  go to that stack.
  83.  
  84. on mouseDown
  85.   if the commandKey is down then
  86.     doHelp
  87.     exit mouseDown
  88.   end if
  89.   --
  90.   global stackLast
  91.   put true into useLast
  92.   if the optionKey is down then put false into useLast
  93.   if stackLast is empty then
  94.     put "1,1,1,1,1,1" into stackList
  95.     put the rect of me into thePt
  96.     if item 2 of thePt > 230 then put 230 into item 2 of thePt
  97.     put "Shows;Songs;(Tapes;Labels;Stats;Utility" into list
  98.     put popUp( thePt, list ) into choice
  99.     -- if it is 0, then no choice was made...
  100.     if choice is not 0 then
  101.       put piece( list, ";", choice ) into theStack
  102.       if theStack is not "Songs" then put "Dead " before theStack
  103.       set the hilite of me to false
  104.       go stack theStack
  105.     end if
  106.   end if
  107. end mouseDown
  108.  
  109.  
  110.  
  111. -- part 1 (field)
  112. -- low flags: 02
  113. -- high flags: 0000
  114. -- rect: left=105 top=61 right=78 bottom=250
  115. -- title width / last selected line: 0
  116. -- icon id / first selected line: 0 / 0
  117. -- text alignment: 0
  118. -- font id: 3
  119. -- text size: 12
  120. -- style flags: 256
  121. -- line height: 16
  122. -- part name: date
  123. ----- HyperTalk script -----
  124. on closeField
  125.   convert field "date" to short date
  126.   set name of this card to field "date"
  127. end closeField
  128.  
  129. on oldCloseField
  130.   convert field "date" to short date
  131.   set name of this card to field "date"
  132.   get field "location"
  133.   if it is empty then
  134.     set the lockScreen to true
  135.     put field "date" into cardName
  136.     push this card
  137.     go to stack "Dead Shows"
  138.     put " " into locName
  139.     find cardName in field "date"
  140.     if the result is empty then
  141.       put field "location" into locName
  142.     end if
  143.     pop card
  144.     if locName is not empty then
  145.       put item 1 of locName into field "location"
  146.     end if
  147.     set the lockScreen to false
  148.   end if
  149. end oldCloseField
  150.  
  151.  
  152. -- part 2 (field)
  153. -- low flags: 02
  154. -- high flags: 0000
  155. -- rect: left=105 top=81 right=100 bottom=369
  156. -- title width / last selected line: 0
  157. -- icon id / first selected line: 0 / 0
  158. -- text alignment: 0
  159. -- font id: 3
  160. -- text size: 12
  161. -- style flags: 256
  162. -- line height: 16
  163. -- part name: location
  164.  
  165.  
  166. -- part 3 (field)
  167. -- low flags: 02
  168. -- high flags: 0000
  169. -- rect: left=105 top=100 right=117 bottom=173
  170. -- title width / last selected line: 0
  171. -- icon id / first selected line: 0 / 0
  172. -- text alignment: 0
  173. -- font id: 3
  174. -- text size: 12
  175. -- style flags: 256
  176. -- line height: 16
  177. -- part name: source
  178.  
  179.  
  180. -- part 4 (field)
  181. -- low flags: 02
  182. -- high flags: 0000
  183. -- rect: left=105 top=119 right=136 bottom=173
  184. -- title width / last selected line: 0
  185. -- icon id / first selected line: 0 / 0
  186. -- text alignment: 0
  187. -- font id: 3
  188. -- text size: 12
  189. -- style flags: 256
  190. -- line height: 16
  191. -- part name: gen
  192.  
  193.  
  194. -- part 5 (field)
  195. -- low flags: 02
  196. -- high flags: 0000
  197. -- rect: left=105 top=139 right=156 bottom=174
  198. -- title width / last selected line: 0
  199. -- icon id / first selected line: 0 / 0
  200. -- text alignment: 0
  201. -- font id: 3
  202. -- text size: 12
  203. -- style flags: 256
  204. -- line height: 16
  205. -- part name: quality
  206.  
  207.  
  208. -- part 6 (field)
  209. -- low flags: 00
  210. -- high flags: 0000
  211. -- rect: left=104 top=159 right=273 bottom=353
  212. -- title width / last selected line: 0
  213. -- icon id / first selected line: 0 / 0
  214. -- text alignment: 0
  215. -- font id: 3
  216. -- text size: 12
  217. -- style flags: 256
  218. -- line height: 16
  219. -- part name: comments
  220.  
  221.  
  222. -- part 7 (button)
  223. -- low flags: 00
  224. -- high flags: 2000
  225. -- rect: left=429 top=308 right=335 bottom=459
  226. -- title width / last selected line: 0
  227. -- icon id / first selected line: 20689 / 20689
  228. -- text alignment: 1
  229. -- font id: 0
  230. -- text size: 12
  231. -- style flags: 0
  232. -- line height: 16
  233. -- part name: Home
  234. ----- HyperTalk script -----
  235. --  This button sends you to the Home stack.
  236.  
  237. on mouseUp
  238.   if the commandKey is down then
  239.     doHelp
  240.     exit mouseUp
  241.   end if
  242.   --
  243.   lock screen
  244.   go stack "Dead Utility"
  245.   playDeadSong "Franklins"
  246.   go "Home"
  247.   unlock screen with visual effect iris close
  248. end mouseUp
  249.  
  250.  
  251.  
  252. -- part 9 (button)
  253. -- low flags: 00
  254. -- high flags: 2000
  255. -- rect: left=385 top=54 right=86 bottom=444
  256. -- title width / last selected line: 0
  257. -- icon id / first selected line: 0 / 0
  258. -- text alignment: 1
  259. -- font id: 0
  260. -- text size: 12
  261. -- style flags: 0
  262. -- line height: 16
  263. -- part name: Prev
  264. ----- HyperTalk script -----
  265. --  This button will send you to the previous card.
  266.  
  267. on mouseDown
  268.   go prev card
  269.   repeat while the mouse is down
  270.     go to prev card
  271.   end repeat
  272. end mouseDown
  273.  
  274.  
  275.  
  276. -- part 10 (button)
  277. -- low flags: 00
  278. -- high flags: 2000
  279. -- rect: left=427 top=88 right=125 bottom=468
  280. -- title width / last selected line: 0
  281. -- icon id / first selected line: 20186 / 20186
  282. -- text alignment: 1
  283. -- font id: 0
  284. -- text size: 12
  285. -- style flags: 0
  286. -- line height: 16
  287. -- part name: 
  288. ----- HyperTalk script -----
  289. --  This screen will sort the cards in this stack
  290. --  by date.
  291.  
  292. on mouseUp
  293.   if the commandKey is down then
  294.     doHelp
  295.     exit mouseUp
  296.   end if
  297.   --
  298.   set the cursor to watch
  299.   set the lockScreen to true
  300.   push this card
  301.   sort datetime by field "date"
  302.   pop card
  303. end mouseUp
  304.  
  305.  
  306.  
  307. -- part 11 (button)
  308. -- low flags: 00
  309. -- high flags: 2000
  310. -- rect: left=465 top=302 right=336 bottom=500
  311. -- title width / last selected line: 0
  312. -- icon id / first selected line: 1012 / 1012
  313. -- text alignment: 1
  314. -- font id: 0
  315. -- text size: 12
  316. -- style flags: 0
  317. -- line height: 16
  318. -- part name: return
  319. ----- HyperTalk script -----
  320. --  This button will return you to where you came from.
  321. --  This assumes that the handler that sent you here did
  322. --  a push card.
  323.  
  324. on mouseUp
  325.   if the commandKey is down then
  326.     doHelp
  327.     exit mouseUp
  328.   end if
  329.   --
  330.   visual effect iris close fast
  331.   pop card
  332. end mouseUp
  333.  
  334.  
  335.  
  336. -- part 18 (button)
  337. -- low flags: 00
  338. -- high flags: A004
  339. -- rect: left=434 top=156 right=178 bottom=506
  340. -- title width / last selected line: 0
  341. -- icon id / first selected line: 0 / 0
  342. -- text alignment: 1
  343. -- font id: 0
  344. -- text size: 12
  345. -- style flags: 0
  346. -- line height: 16
  347. -- part name: Import...
  348. ----- HyperTalk script -----
  349. --  This button will import a text file which contains a
  350. --  tape list with one tape entry per line.  It will skip
  351. --  blank lines and lines which do not have a valid date
  352. --  in the first word.
  353. --
  354. --  Fields should be separated by a single tab.  Format:
  355. --
  356. --    date, location, source, gen, quality, comment
  357.  
  358. on mouseUp
  359.   if the commandKey is down then
  360.     doHelp
  361.     exit mouseUp
  362.   end if
  363.   --
  364.   global deadDir
  365.   ask "Import which file:" with deadDir
  366.   if the length of it < 6 then exit mouseUp
  367.   put it into fileName
  368.   open file fileName
  369.   put true into askUser
  370.   repeat forever
  371.     read from file fileName until return
  372.     if it is empty then
  373.       exit repeat
  374.     end if
  375.     put Trim(it) into record
  376.     if record is empty then next repeat  -- blank line filter
  377.     -- was converting here....
  378.     put piece( record, tab, 1 ) into testDate
  379.     convert testDate to dateitems
  380.     if the number of items in testDate < 5 then next repeat
  381.     domenu "New Card"
  382.     get piece( record, tab, 1 )
  383.     convert it to short date
  384.     put it into field "date"
  385.     set the name of this card to it
  386.     -- risky... assumes field order
  387.     repeat with i = 2 to number of fields
  388.       put Trim(piece( record, tab, i )) into field i
  389.     end repeat
  390.     if askUser is true then
  391.       answer "Again?" with "CANCEL" or "Do All" or "OK"
  392.       if it is "CANCEL" then exit repeat
  393.       if it is "Do All" then put false into askUser
  394.     end if
  395.   end repeat
  396.   close file fileName
  397. end mouseUp
  398.  
  399.  
  400. on foo
  401.   repeat with i = 1 to the length of record
  402.     if character i of record is tab then
  403.       put "," into character i of record
  404.       next repeat
  405.     end if
  406.     if character i of record is "," then
  407.       put " " into character i of record
  408.     end if
  409.   end repeat
  410. end foo
  411.  
  412.  
  413.  
  414. -- part 19 (button)
  415. -- low flags: 00
  416. -- high flags: A004
  417. -- rect: left=434 top=183 right=205 bottom=506
  418. -- title width / last selected line: 0
  419. -- icon id / first selected line: 0 / 0
  420. -- text alignment: 1
  421. -- font id: 0
  422. -- text size: 12
  423. -- style flags: 0
  424. -- line height: 16
  425. -- part name: Export...
  426. ----- HyperTalk script -----
  427. --  This button will export the tape records in this stack
  428. --  to a text file with one tape entry per line.
  429. --  The format used is shown below, and is the same format
  430. --  required by the import function.
  431. --
  432. --  Fields should be separated by a single tab.  Format:
  433. --
  434. --    date, location, source, gen, quality, comment
  435.  
  436. on mouseUp
  437.   if the commandKey is down then
  438.     doHelp
  439.     exit mouseUp
  440.   end if
  441.   --
  442.   push this card
  443.   set the lockScreen to true
  444.   go stack "Dead Utility"
  445.   go to card "tape list"
  446.   set the lockScreen to false
  447. end mouseUp
  448.  
  449.  
  450.  
  451.  
  452.  
  453. -- part 27 (button)
  454. -- low flags: 00
  455. -- high flags: 2000
  456. -- rect: left=38 top=193 right=266 bottom=93
  457. -- title width / last selected line: 0
  458. -- icon id / first selected line: 0 / 0
  459. -- text alignment: 1
  460. -- font id: 0
  461. -- text size: 12
  462. -- style flags: 0
  463. -- line height: 16
  464. -- part name: play
  465. ----- HyperTalk script -----
  466. --  This button will play a random tune.
  467.  
  468. on mouseUp
  469.   if the commandKey is down then
  470.     doHelp
  471.     exit mouseUp
  472.   end if
  473.   --
  474.   playRandomDead
  475. end mouseUp
  476.  
  477.  
  478.  
  479. -- part 28 (button)
  480. -- low flags: 00
  481. -- high flags: A004
  482. -- rect: left=384 top=130 right=152 bottom=427
  483. -- title width / last selected line: 0
  484. -- icon id / first selected line: 0 / 0
  485. -- text alignment: 1
  486. -- font id: 0
  487. -- text size: 12
  488. -- style flags: 0
  489. -- line height: 16
  490. -- part name: New
  491. ----- HyperTalk script -----
  492. --  This button will create a new tape card.  It will
  493. --  prompt for a date and automatically fetch the location
  494. --  from the Shows stack.
  495.  
  496. on mouseUp
  497.   if the commandKey is down then
  498.     doHelp
  499.   else if the optionKey is down then
  500.     doMenu "Copy Card"
  501.     doMenu "Paste Card"
  502.     click at the loc of field "date"
  503.   else
  504.     set the lockScreen to true
  505.     setUpNewCard
  506.   end if
  507. end mouseUp
  508.  
  509. on setUpNewCard
  510.   ask "Date of the show:"
  511.   if it is not empty then
  512.     convert it to short date
  513.     put it into showDate
  514.     convert it to dateItems
  515.     put item 1 of it into theYear
  516.     if findTapeByDate( showDate ) is false then
  517.       doMenu "New Card"
  518.       put showDate into field "date"
  519.       put 19 & piece( the short date, "/", 3 ) into thisYear
  520.       if  theYear >=1965  and theYear <= thisYear then
  521.         push this card
  522.         go to stack "Dead Shows"
  523.         put " " into locName
  524.         put findShowByDate( showDate ) into foundIt
  525.         if foundIt is true then
  526.           put field "location" into locName
  527.         end if
  528.         pop card
  529.         if locName is not empty then
  530.           put item 1 of locName into field "location"
  531.         end if
  532.       end if
  533.     end if
  534.     click at the loc of field "location"
  535.   end if
  536. end setUpNewCard
  537.  
  538.  
  539.  
  540.  
  541.  
  542. -- part 30 (button)
  543. -- low flags: 00
  544. -- high flags: A004
  545. -- rect: left=434 top=130 right=152 bottom=506
  546. -- title width / last selected line: 0
  547. -- icon id / first selected line: 0 / 0
  548. -- text alignment: 1
  549. -- font id: 0
  550. -- text size: 12
  551. -- style flags: 0
  552. -- line height: 16
  553. -- part name: Go to...
  554. ----- HyperTalk script -----
  555. --  This button will look for a tape for a show of
  556. --  a date you will enter.  If it does not find it,
  557. --  it will go to the first tape with a date later than
  558. --  the one entered.
  559.  
  560. on mouseUp
  561.   if the commandKey is down then
  562.     doHelp
  563.     exit mouseUp
  564.   end if
  565.   --
  566.   ask "Enter the show date:"
  567.   if it is empty then exit mouseUp
  568.   put it into theShow
  569.   convert theShow to short date
  570.   put findTapeByDate( theShow ) into temp
  571. end mouseUp
  572.  
  573.  
  574.  
  575. -- part 34 (button)
  576. -- low flags: 00
  577. -- high flags: 2000
  578. -- rect: left=426 top=23 right=54 bottom=463
  579. -- title width / last selected line: 0
  580. -- icon id / first selected line: 128 / 128
  581. -- text alignment: 1
  582. -- font id: 0
  583. -- text size: 12
  584. -- style flags: 0
  585. -- line height: 16
  586. -- part name: Labels
  587. ----- HyperTalk script -----
  588. --  This button will send you to the labels stack.  It will
  589. --  find the labels for this tape, if they exist.  If they
  590. --  do not then it will offer to make them via the standard
  591. --  function for creating them, which will visit the shows
  592. --  stack to obtain the set lists.
  593.  
  594. on mouseUp
  595.   if the commandKey is down then
  596.     doHelp
  597.     exit mouseUp
  598.   end if
  599.   --
  600.   put field "date" into showDate
  601.   put field "location" into Venue
  602.   push this card
  603.   set the lockScreen to true
  604.   go to stack "Dead Labels"
  605.   find showDate in field "date"
  606.   --  go card cardName
  607.   if the result is not empty then
  608.     answer "No labels.  Shall we make 'em?" with "Cancel" or "Don't Bother!" or "OK"
  609.     if it is "Cancel" then
  610.       pop card
  611.       exit mouseUp
  612.     else if it is "OK" then
  613.       newLabels( ShowDate )
  614.     end if
  615.   end if
  616. end mouseUp
  617.  
  618.  
  619.  
  620.  
  621. -- part 39 (button)
  622. -- low flags: 00
  623. -- high flags: A004
  624. -- rect: left=384 top=155 right=177 bottom=427
  625. -- title width / last selected line: 0
  626. -- icon id / first selected line: 0 / 0
  627. -- text alignment: 1
  628. -- font id: 0
  629. -- text size: 12
  630. -- style flags: 0
  631. -- line height: 16
  632. -- part name: List
  633. ----- HyperTalk script -----
  634. --  This button will display the list of your tapes in
  635. --  a scrolling field.  Click opn the field to make it
  636. --  dissappear.
  637.  
  638. on mouseUp
  639.   if the commandKey is down then
  640.     doHelp
  641.     exit mouseUp
  642.   end if
  643.   --
  644.   push this card
  645.   lock Screen
  646.   go card 1
  647.   put empty into theList
  648.   repeat for the number of cards
  649.     -- build the list...
  650.     showBusy
  651.     --put field "date" & "     " ┬¼   -- old way
  652.     put ExpandTabs( field "date" & tab, 10 ) & item 1 of field "location" & "  : " & line 1 of field "comments" & return after theList
  653.     go next card
  654.   end repeat
  655.   pop card
  656.   show field "Tape List"
  657.   put the number of cards & " shows on file..." & return & "---------------" & return & theList into field "Tape List"
  658.   unlock Screen with visual effect dissolve
  659. end mouseUp
  660.  
  661.  
  662.  
  663.  
  664.  
  665. -- part 35 (button)
  666. -- low flags: 00
  667. -- high flags: 2000
  668. -- rect: left=397 top=309 right=331 bottom=419
  669. -- title width / last selected line: 0
  670. -- icon id / first selected line: 26635 / 26635
  671. -- text alignment: 1
  672. -- font id: 0
  673. -- text size: 12
  674. -- style flags: 0
  675. -- line height: 16
  676. -- part name: New Button
  677. ----- HyperTalk script -----
  678. --  This button will provide some general help about
  679. --  this stack.
  680.  
  681. on mouseUp
  682.   if the commandKey is down then
  683.     doHelp
  684.     exit mouseUp
  685.   end if
  686.   --
  687.   push this card
  688.   go card "Tapes Help" of stack "Dead Utility"
  689.   playDead "help"
  690. end mouseUp
  691.  
  692.  
  693.  
  694. -- part 37 (button)
  695. -- low flags: 00
  696. -- high flags: 2000
  697. -- rect: left=448 top=54 right=86 bottom=507
  698. -- title width / last selected line: 0
  699. -- icon id / first selected line: 0 / 0
  700. -- text alignment: 1
  701. -- font id: 0
  702. -- text size: 12
  703. -- style flags: 0
  704. -- line height: 16
  705. -- part name: Next
  706. ----- HyperTalk script -----
  707. --  This button will send you to the next card.
  708.  
  709. on mouseDown
  710.   go next card
  711.   repeat while the mouse is down
  712.     go to next card
  713.   end repeat
  714. end mouseDown
  715.  
  716.  
  717.  
  718.  
  719. -- part 38 (field)
  720. -- low flags: 81
  721. -- high flags: 2007
  722. -- rect: left=9 top=31 right=337 bottom=506
  723. -- title width / last selected line: 0
  724. -- icon id / first selected line: 0 / 0
  725. -- text alignment: 0
  726. -- font id: 4
  727. -- text size: 9
  728. -- style flags: 0
  729. -- line height: 12
  730. -- part name: Tape List
  731. ----- HyperTalk script -----
  732. on mouseUp
  733.   lock screen
  734.   hide me
  735.   put empty into me
  736.   set the scroll of me to 0
  737.   unlock screen with visual effect dissolve
  738. end mouseUp
  739.  
  740.  
  741.  
  742. -- part 41 (field)
  743. -- low flags: 9D
  744. -- high flags: 2007
  745. -- rect: left=30 top=103 right=318 bottom=449
  746. -- title width / last selected line: 0
  747. -- icon id / first selected line: 0 / 0
  748. -- text alignment: 0
  749. -- font id: 3
  750. -- text size: 10
  751. -- style flags: 256
  752. -- line height: 13
  753. -- part name: help text
  754. ----- HyperTalk script -----
  755. on mouseUp
  756.   lock screen
  757.   hide me
  758.   unlock screen with visual effect dissolve fast
  759. end mouseUp
  760.